Computer virtualization is a technique that involves encapsulating a computing machine platform into a virtual machine (VM) that is executed under the control of virtualization software running on a hardware computing platform (also referred to herein as “host server” or “host”). A group of hardware computing platforms may be organized as a cluster to provide resources for VMs. In a data center, it is common to see hundreds, even thousands, of VMs running on multiple clusters of host servers.
A virtual infrastructure administrator may use virtualization management software to manage virtual machine configurations and computing resource allocations. One feature of the virtualized computing environment controlled by the virtualization management software is virtual networking. VMs can be created with software-based virtual network adapters that are logically connected to a virtual switch that is further connected to physical network adapters installed in the host computer. One approach for managing virtual network connections in data centers with a large number of VMs running on multiple host servers is the distributed virtual switch described in U.S. Pat. No. 8,195,774, incorporated by reference in its entirety herein. A distributed virtual switch is an abstraction of a switch across multiple host servers that permits virtual switches on the multiple host servers to be managed as if ports of those virtual switches belonged to a single switch, the distributed virtual switch. The distributed virtual switch may have uplinks which connect to physical network adapters, as well as VM ports which provide connections for VMs running in the host servers.
Traditionally, VMs and distributed virtual switches are managed by virtualization management software that provides a cloud management system, such as VMware vCenter Server™ which is commercially available from VMware, Inc, of Palo Alto, Calif. For load balancing and other purposes, VMs may be migrated between servers in a cluster, such as with VMware vMotion® technology available from VMware, Inc. However, a VM connected to one distributed virtual switch traditionally could not be live migrated across distributed virtual switches, as the migrated VM's configuration file would still point to network resources backing the original distributed virtual switch and not the destination distributed virtual switch. As a result, VMs also could not be migrated across cloud management systems which provide distinct distributed virtual switches, even where a logical network (e.g., VLAN or VXLAN) stretches across multiple such cloud management systems and/or distributed virtual switches so that it would be otherwise possible to migrate the VM without virtual network reconfiguration.
For example, a VXLAN may be used to create a layer two (L2) overlay network to stretch across two or more layer three (L3) networks. Doing so allows VMs to live migrate across different L3 networks and still operate as if they are connected to the same L2 network. Accordingly, it is possible to move VMs across subnets without any virtual network reconfiguration. However, even where the VXLAN network is stretched across multiple distributed virtual switches, live migration of VMs is traditionally limited to only those VM hosts that belong to the same distributed virtual switch the VM to be migrated belongs, rather than anywhere within the VXLAN network segment, which may require migrating the VM across distributed virtual switches. As discussed, if the VM is migrated across distributed virtual switches, then the VM's configuration file would still point to network resources backing the original distributed virtual switch and not the destination distributed virtual switch. As another example, VLAN backed virtual networks may span across multiple distributed virtual switches due to administrative reasons (e.g., there may be a single distributed virtual switch per VM host cluster). However, VMs could not be migrated across distributed virtual switches in such a VLAN backed environment.